package com.gpframework.module.module.domain.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gpframework.module.module.domain.GpIncomingInspectWeight;
import com.gpframework.module.module.domain.GpIncomingInspectWidth;
import com.gpframework.module.module.domain.GpIncomingInspectYardVerify;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * @ClassName GpIncomingInspectAdd
 * @Author gpframework
 * @Date 2023-12-11
 * @Version 1.0.0
 * @Description 来料检验单Add对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class GpIncomingInspectAdd {
    private static final long serialVersionUID = 1L;

    /** 品牌id */
    @ApiModelProperty("品牌id")
    private String brandId;

    /** 品牌名称 */
    @ApiModelProperty("品牌名称")
    private String brandName;

    /** 缺货报库存申请表id */
    @ApiModelProperty("缺货报库存申请表id")
    private Long productionApplicationId;

    /** 做货明细表id */
    @ApiModelProperty("做货明细表id")
    private Long productionDetailsId;

    /** 生产排单表id */
    @ApiModelProperty("生产排单表id")
    private Long productionSchedulingId;

    /** 到货单id */
    @ApiModelProperty("到货单id")
    private Long deliveryNoteId;

    /** 订单号 */
    @ApiModelProperty("订单号")
    private String sn;

    /** 来料时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("来料时间")
    private Date incomingTime;

    /** 染厂id */
    @ApiModelProperty("染厂id")
    private Long dyeingFactoryId;

    /** 染厂名称 */
    @ApiModelProperty("染厂名称")
    private String dyeingFactoryName;

    /** 胚布基础表id */
    @ApiModelProperty("胚布基础表id")
    private Long supplierGreyClothId;

    /** 供应商名称 */
    @ApiModelProperty("供应商名称")
    private String supplierName;

    /** 产品基础表id */
    @ApiModelProperty("产品基础表id")
    private Long produceProductId;

    /** 产品名 */
    @ApiModelProperty("产品名")
    private String productName;

    /** 颜色 */
    @ApiModelProperty("颜色")
    private String colour;

    /** 数量（条数） */
    @ApiModelProperty("数量（条数）")
    private Integer quantity;

    /** 批号 */
    @ApiModelProperty("批号")
    private String batchNo;

    /** 缸号 */
    @ApiModelProperty("缸号")
    private String dyeVatNo;

    /** 总码数（空）/公斤数 */
    @ApiModelProperty("总码数（空）/公斤数")
    private Integer totalQuantity;

    /** 打码规格基础表id */
    @ApiModelProperty("打码规格基础表id")
    private String codingSpecificationsId;

    /** 打码规格 */
    @ApiModelProperty("打码规格")
    private String codingSpecifications;

    /** 标签规格 */
    @ApiModelProperty("标签规格")
    private String tagSpecifications;

    /** 抽查数量（条） */
    @ApiModelProperty("抽查数量（条）")
    private Integer samplingQuantity;

    /** 纸管 */
    @ApiModelProperty("纸管")
    private String paperTube;

    /** 对色情况 */
    @ApiModelProperty("对色情况")
    private String colorContrastSituation;

    /** 检验状态 0未检验， 1已检验 */
    @ApiModelProperty("检验状态 0未检验， 1已检验")
    private String status;

    /** 跟单人id */
    @ApiModelProperty("跟单人id")
    private Long followUpId;

    /** 跟单人名称 */
    @ApiModelProperty("跟单人名称")
    private String followUpName;

    /** 跟单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("跟单时间")
    private Date followUpTime;

    /** 操作人id */
    @ApiModelProperty("操作人id")
    private Long operatorId;

    /** 操作人名称 */
    @ApiModelProperty("操作人名称")
    private String operatorName;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("操作时间")
    private Date operatorTime;

    /** 排序 */
    @ApiModelProperty("排序")
    private Integer sort;

    /** 备注 */
    @ApiModelProperty("备注")
    private String remarks;


    /** 来料检验单重量 */
    @ApiModelProperty("来料检验单重量")
    private List<GpIncomingInspectWeight> gpIncomingInspectWeightList;

    /** 来料检验单幅宽 */
    @ApiModelProperty("来料检验单幅宽")
    private List<GpIncomingInspectWidth> gpIncomingInspectWidthList;

    /** 来料检验单实际验码 */
    @ApiModelProperty("来料检验单实际验码")
    private List<GpIncomingInspectYardVerify> gpIncomingInspectYardVerifyList;


    /** 反馈id */
    @ApiModelProperty("反馈id")
    private Long feedbackId;
    /** 反馈人名称 */
    @ApiModelProperty("反馈人名称")
    private String feedbackName;

    @ApiModelProperty("反馈类型")
    private String feedbackType;

    @ApiModelProperty("反馈内容")
    private String feedbackContent;

    /**审批人名称 */
    private String examinName;

    /** 操作人编号 */
    private String operatorNum;


    /** 标准幅宽 */
    @ApiModelProperty("标准幅宽")
    private String standardWidth;


}
